package cn.tx.service;

import java.util.List;

/**
 * @author Snake Eyes
 * @PROJECT_NAME: hani_parent
 * @DESCRIPTION:
 * @USER: 11647
 * @DATE: 2021/5/31 17:34
 * @Email: 1164763541@qq.com
 */
public interface BaseService<Q,T>  {

    /**
     * 保存数据
     *
     * @param t
     */
    public void insert(T t);

    /**
     * 根据主键查询对象
     *
     * @param id
     * @return
     */
    public T selectByPrimaryKey(Integer id);

    /**
     * 根据主键删除数据
     *
     * @param id
     */
    public void deleteByPrimaryKey(Integer id);

    /**
     * 修改数据
     *
     * @param
     */
    public void updateByPrimaryKeySelective(T t);

    /**
     * 查询所有的记录
     *
     * @return
     */
    public List<T> selectObjectAll();

    /**
     * 根据查询条件来查询数据
     *
     * @param q
     * @return
     */
    public List<T> selectObjectByCondition(Q q);

    /**
     * 根据查询条件来查询符合条件的记录数
     *
     * @param q
     * @return
     */
    public int selectObjectByConditionCount(Q q);

}
